package com.nongtai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nongtai.pojo.dto.SubCategoryGoodsPageDto;
import com.nongtai.pojo.entity.Goods;
import com.nongtai.pojo.vo.GoodsDetailsVo;
import com.nongtai.pojo.vo.GoodsVo;

import java.util.List;

public interface GoodsService {

    public List<Goods> getAllGoods();
    /**
     * 根据分类id查找该分类下的所有商品
     * @param id
     * @return
     */
    List<GoodsVo> getGoodsByCategoryId(Long id);
    /**
     * 根据二级分类id查找该分类下的所有商品
     * @param goodsPageDto 二级分类id
     * @return
     */
    List<GoodsVo> getGoodsBySubCategoryId(SubCategoryGoodsPageDto goodsPageDto);

    /**
     * 根据商品id返回商品详情信息
     * @param id 商品id
     * @return 商品详情信息
     */
    GoodsDetailsVo getGoodsDetailsById(Long id);

    /**
     * 获取一天的热门商品
     * @param id 当前商品id
     * @param limit 限制返回几条数据
     * @return
     */
    List<GoodsVo> getHotGoodsRankOneDay(Long id, Integer limit);
    /**
     * 获取一周的热门商品
     * @param id 当前商品id
     * @param limit 限制返回几条数据
     * @return
     */
    List<GoodsVo> getHotGoodsRankOneWeek(Long id, Integer limit);
    /**
     * 获取总榜热门商品
     * @param limit 限制返回几条数据
     * @return
     */
    List<GoodsVo> getHotGoodsRankAll(Integer limit);
}
